﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ZoneFiveSoftware.Common.Visuals;
using ZoneFiveSoftware.Common.Visuals.Chart;
using System.Drawing;
using ZoneFiveSoftware.Common.Visuals.Fitness;
using ZoneFiveSoftware.Common.Data.Fitness;
using System.ComponentModel;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace HackersDiet
{
    class HDView : Component, IView
    {
         #region IView Members

        public IList<IAction> Actions
        {
            get { return new IAction[] { new HDWebsiteImportAction(), new HDSettingsAction()}; }
        }

        public Guid Id
        {
            get { return new Guid("e5123838-5203-44c2-a1b4-532931065cd1"); }
        }

        public string SubTitle
        {
            get { return "Hackers Diet"; }
        }

        public void SubTitleClicked(System.Drawing.Rectangle subTitleRect)
        {
            // do nothing
        }

        public bool SubTitleHyperlink
        {
            get { return false; }
        }

        public string TasksHeading
        {
            get { return "Hackers Diet Tasks Heading"; }
        }

        #endregion

        #region IDialogPage Members

        public System.Windows.Forms.Control CreatePageControl()
        {
            return (HDControl)Plugin.Container.Components["HDControl"];
        }

        public bool HidePage()
        {
            return true;
        }

        public string PageName
        {
            get { return "Hackers Diet"; }
        }

        public void ShowPage(string bookmark)
        {
            ((HDControl)Plugin.Container.Components["HDControl"]).Show();
        }

        public IPageStatus Status
        {
            get { throw new NotImplementedException(); }
        }

        public void ThemeChanged(ITheme visualTheme)
        {
            
        }

        public string Title
        {
            get { return string.Empty; }
        }

        public void UICultureChanged(System.Globalization.CultureInfo culture)
        {

            // do nothing
        }

        #endregion

        #region INotifyPropertyChanged Members

        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

        private void OnPropertyChanged(string propertyName)
        {
            if (propertyName != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        #endregion
    }
}
